import br.com.decsoft.lv.events.*;
import br.com.decsoft.lv.utils.*;

import mx.collections.ArrayCollection;
import mx.controls.Alert;
import mx.controls.DateField;
import mx.core.Application;
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;

[Bindable] private var dataSetProduto : ArrayCollection;
[Bindable] private var dataSetGrupo : ArrayCollection;

private function init():void {
	txiProcurarProduto.setFocus();

	var hoje: String = DateField.dateToString(new Date(), "MM/DD/YYYY");

	rmtGrupoService.listarGrupo();
	rmtProdutoService.listarProduto("where (PRODDINIPROMO <= '"+hoje+" 08:00:00') and (PRODDFIMPROMO >= '"+hoje+" 23:00:00')");
}

private function onFaultHandler(event:FaultEvent):void {
	Alert.show("Erro na aplicação: \n\n" + event.fault.message);
}

private function onResultListarGrupo(event:ResultEvent):void {
	dataSetGrupo = event.result as ArrayCollection;
}

private function onResultListarProduto(event:ResultEvent):void {
	dataSetProduto = event.result as ArrayCollection;
}

private function lstCategoriasDblClick():void {
	rmtProdutoService.listarProduto(" where GRUPICOD = " + lstCategorias.selectedItem.codigo);
	lblDetalheLista.text = lstCategorias.selectedItem.descricao;
}

private function mostrarDetalhesProduto(e:mostrarDetalhesProdutoEvent):void{
	Alert.show("Descricao: " + e.dados.descricao + " \n\n" + 
	           "Preco Venda: " + e.dados.valorVenda);
}

private function consultarProdutos(e:Event):void {
	var sql : String = "";

    if (txiProcurarProduto.text != "") {
    	sql = ' where PRODA60DESCR like "%' + txiProcurarProduto.text + '%"' +
    		  ' order by PRODA60DESCR'	;       	
       
      	txiProcurarProduto.selectionBeginIndex = 0;
      	txiProcurarProduto.selectionEndIndex = txiProcurarProduto.length;
      	
      	rmtProdutoService.listarProduto(sql);
    }
}

private function edProcuraKeyDown(event:KeyboardEvent):void {
  if (event.keyCode == Keyboard.ENTER)
  	this.consultarProdutos(event);
}

private function btnMeuCarrinhoClick():void {
	if (Application.application.dataSetCarrinho.length > 0) {
		Application.application.currentState = "carrinho";	
	} else {
		Alert.show("O carrinho está vazio.");
	}
}

private function calculaNroItensDataset():void {
	Application.application.dataSetCarrinho.refresh();
	
	if (Application.application.dataSetCarrinho.length > 1) {
		lblNroItensCarrinho.text = Application.application.dataSetCarrinho.length + " itens";	
	} else {
		lblNroItensCarrinho.text = Application.application.dataSetCarrinho.length + " item";
	}
	
}